// 处理get请求

const express = require('express'); // 引入express
const router = express.Router(); // 创建路由器
const fs = require('fs') // 文件模块


// middleware that is specific to this router
// router.use(function timeLog(req, res, next) {
// 	console.log('Time: ', Date.now());
// 	next();
// });

// define the home page route
router.get('/', function (req, res) {
	res.redirect('/index') // 首页重定向
});

// home请求数据
router.get('/index', function (req, res) {
	
	const arr = Object.keys(req.query) // 将请求的参数转为数组
	// console.log(arr)
	if (arr.length === 0) { // 请求没有参数
		fs.readFile('./data/home/home.json', (err, data) => { // 读取数据文件
			if (err) { // 简单错误处理
				console.log(err)
				res.status(404) // 设置错误代码
				res.send('网络出错,请稍后再试')
				
			}
			const result = JSON.parse(data) // 将读取的数据转为对象
			res.send(result) // 发送数据
		})
	} else if (arr[0] === 'sales') { // 热销数据
		fs.readFile('./data/home/home_sales.json', (err, data) => {
			if (err) {
				console.log(err)
				res.status(404)
				res.send('网络出错,请稍后再试')
			}
			const result = JSON.parse(data)
			res.send(result)
		})
	} else if (arr[0] === 'recommend') { //推荐数据
		fs.readFile('./data/home/home_recommend.json', (err, data) => {
			if (err) {
				console.log(err)
				res.status(404)
				res.send('网络出错,请稍后再试')
			}
			const result = JSON.parse(data)
			res.send(result)
		})
	} else {
		// 新品数据
		fs.readFile('./data/home/home_new.json', (err, data) => {
			if (err) {
				console.log(err)
				res.status(404)
				res.send('网络出错,请稍后再试')
			}
			const result = JSON.parse(data)
			res.send(result)
		})
	}
	
	
});

// category请求数据
router.get('/category', function (req, res) {
	const arr = Object.keys(req.query) // 将请求的参数转为数组
	fs.readFile('./data/home/home.json', (err, data) => { // 读取数据文件
		
		if (err) { // 简单处理错误
			
			console.log(err)
			res.send('网络出错,请稍后再试')
			
		} else if (arr.length === 0) { // 请求默认分类条目
			
			const result = JSON.parse(data) //分类条目
			res.send(result)
			
		} else { // 根据类型请求分类数据
			
			const type = arr[0] // 获取参数中的查询类型
			const result = JSON.parse(data)['goods']['data'] //获取数据数组
			
			// 根据类型对数据数组冒泡排序
			for (let i = 0; i < result.length - 1; i++) {
				for (let j = 0; j < result.length - 1 - i; j++) {
					if (result[j][type] > result[j + 1][type]) {
						const temp = result[j];
						result[j] = result[j + 1];
						result[j + 1] = temp;
					}
				}
			}
			// console.log(result)
			res.send(result) // 返回冒泡排序的数据
		}
		
	})
	
})

// detail页面请求
router.get('/detail', function (req, res) {
	// const arr = Object.keys(req.query) // 将请求的参数转为数组,将对象的key存到数组中
	const idObject =  req.query// 接收参数对象
	// console.log(idObject)
	fs.readFile('./data/home/home.json', (err, data) => {

		const temp = JSON.parse(data)['goods'].data // 获取数据数组
		// console.log(temp)
		let result = null
		let id = (idObject.id)*1 // 隐式转换string到num
		if (err) {
			console.log(err)
			res.send('网络出错,请稍后再试')
		} else if (id === undefined) { // 无商品id显示的商品
			result = temp.filter((value) => {
				return value.id === 3 // 默认给一个id
			})
			res.send(result)
		} else { // 有商品id显示的商品
			// console.log(id)
			result = temp.filter((value) => {
				return value.id === id
			})
			// console.log(result)
			res.send(result)
		}

	})
	
})

// 导出路由器
module.exports = router;